<template>
  <div class="wrapper" ref="wrapper">
    <div class="content">
      <slot></slot>
    </div>
  </div>
</template>

<script>
import BScroll from "better-scroll";

export default {
  name: "scroll",
  props: {
    probeType:{
      type:Number,
      default:0
    },
    pullUpLoad: {
      type:Boolean,
      default:false
    }
  },
  data(){
    return{
      scroll:null,
    }
  },
  mounted() {
    // this.scroll= new BScroll(this.$refs.wrapper,{
    //1.创建BScroll对象
    this.scroll = new BScroll(this.$refs.wrapper,
      {probeType:this.probeType, click: true,  mouseWheel: true, observeDOM: true ,pullUpLoad: this.pullUpLoad})

    //2.监听滚动的位置
    if (this.probeType ===2 || this.probeType ===3) {
      this.scroll.on('scroll',(position) => {
        this.$emit('scroll',position)
      })
    }

    // //3.监听上拉事件
    if (this.pullUpLoad) {
      this.scroll.on('pullingUp',(position) => {
       this.$emit('pullingUp',position)
        //console.log('监听到滚动到底部')
      })
    }
    // this.scroll.on('pullingUp',() => {
    //   this.$emit('pullingUp')
    // })
    },

  methods:{
    scrollTo(x,y,time=300){
    this.scroll &&  this.scroll.scrollTo(x,y,time)
    },
    finishPullUp() {
      this.scroll && this.scroll.finishPullUp()
    },
    refresh() {
      // console.log('----')
     this.scroll && this.scroll.refresh()
    },
    getScrollY(){
      return this.scroll ? this.scroll.y : 0
    }

  }
}
</script>

<style scoped>

</style>
